home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 26 / AACD 26.iso / AACD / Programming / RxCD / Examples / info.rexx next >
Encoding:
OS/2 REXX Batch file  |  2001-09-23  |  5.0 KB  |  155 lines

  1. /**/
  2.  
  3. signal on halt
  4. signal on break_c
  5.  
  6. call Init
  7. call CreateApp
  8. call HandleApp
  9.  
  10. /* never reached */
  11. /***********************************************************************/
  12. Init: procedure expose global.
  13.     l="rmh.library";if ~show("L",l) then;if ~addlib(l,0,-30) then exit
  14.     if AddLibrary("rxmui.library","rxcd.library")~=0 then exit
  15.     call RxMUIOpt("debugmode showerr")
  16.     global.device="cd0"
  17.     return
  18. /***********************************************************************/
  19. HandleApp: procedure expose global.
  20.     ctrl_c=2**12
  21.     do forever
  22.         call NewHandle("app","h",ctrl_c)
  23.         if and(h.signals,ctrl_c)>0 then exit
  24.         if h.EventFlag then
  25.             select
  26.                 when h.event="QUIT" then exit
  27.                 otherwise interpret h.event
  28.             end
  29.     end
  30.     /* never reached */
  31. /***********************************************************************/
  32. CreateApp: procedure expose global.
  33.  
  34.     app.Title="RxCDInfoExample"
  35.     app.Version="$VER: RxCDInfoExample 1.0 (18.9.2001)"
  36.     app.Copyright="Copyright 2001 by Alfonso Ranieri"
  37.     app.Author="Alfonso Ranieri"
  38.     app.Description="RxCD Info Example"
  39.     app.Base="RXMUIEXAMPLE"
  40.     app.SubWindow="win"
  41.      win.ID="MAIN"
  42.      win.Title="RxCD Info"
  43.      win.Contents="mgroup"
  44.  
  45.       mgroup.0="cdg"
  46.        cdg.Class="Group"
  47.        cdg.Horiz=1
  48.         cdg.0=Label("_Device")
  49.         cdg.1=String("Device",'d',global.device)
  50.  
  51.       mgroup.1="ig"
  52.        ig.Class="Group"
  53.        ig.Columns=2
  54.        ig.Frame="Group"
  55.        ig.FrameTitle="Info"
  56.         call child("ig",Label("Vendor"))
  57.         call child("ig",Text("Vendor"))
  58.         call child("ig",Label("Product"))
  59.         call child("ig",Text("Product"))
  60.         call child("ig",Label("Revision"))
  61.         call child("ig",Text("Revision"))
  62.         call child("ig",Label("Qualifier"))
  63.         call child("ig",Text("Qualifier"))
  64.         call child("ig",Label("Type"))
  65.         call child("ig",Text("Type"))
  66.         call child("ig",Label("Removable"))
  67.         call child("ig",Text("Removable"))
  68.         call child("ig",Label("Modifier"))
  69.         call child("ig",Text("Modifier"))
  70.         call child("ig",Label("ISO"))
  71.         call child("ig",Text("ISO"))
  72.         call child("ig",Label("ECMA"))
  73.         call child("ig",Text("ECMA"))
  74.         call child("ig",Label("ANSI"))
  75.         call child("ig",Text("ANSI"))
  76.         call child("ig",Label("AENC"))
  77.         call child("ig",Text("AENC"))
  78.         call child("ig",Label("TrmIOP"))
  79.         call child("ig",Text("TrmIOP"))
  80.         call child("ig",Label("RDF"))
  81.         call child("ig",Text("RDF"))
  82.         call child("ig",Label("RelAddr"))
  83.         call child("ig",Text("RelAddr"))
  84.         call child("ig",Label("WBus"))
  85.         call child("ig",Text("WBus"))
  86.         call child("ig",Label("Sync"))
  87.         call child("ig",Text("Sync"))
  88.         call child("ig",Label("Linked"))
  89.         call child("ig",Text("Linked"))
  90.         call child("ig",Label("CmdQueue"))
  91.         call child("ig",Text("CmdQueue"))
  92.         call child("ig",Label("SoftReset"))
  93.         call child("ig",Text("SoftReset"))
  94.  
  95.       mgroup.2=Text("Info","Retreives CD driver information")
  96.  
  97.       mgroup.3="bg"
  98.        bg.Class="Group"
  99.        bg.Horiz=1
  100.         bg.0=Button("Get","_Get")
  101.         bg.1=HSpace()
  102.         bg.2=Button("Quit","_Quit")
  103.  
  104.     if NewObj("application","app")>0 then exit
  105.  
  106.     call Notify("win","CloseRequest",1,"app","ReturnID","quit")
  107.  
  108.     call Notify("device","NewContents","EveryTime","app","SetVar","global.device","TriggerValue")
  109.     call Notify("get","Pressed",0,"app","Return","call GetFun")
  110.     call Notify("quit","Pressed",0,"app","ReturnID","Quit")
  111.  
  112.     call set("win","open",1)
  113.     if ~xget("win","open") then do
  114.         say "can't open window"
  115.         exit
  116.     end
  117.  
  118.     return
  119. /***********************************************************************/
  120. halt:
  121. break_c:
  122.     exit
  123. /**************************************************************************/
  124. GetFun: procedure expose global.
  125.     res=CDInfo(global.device,"db","info")
  126.     if res>0 then do
  127.         call set("Info","Contents",GetRxCDString(res))
  128.         return
  129.     end
  130.     call set("Vendor","contents",info.Vendor)
  131.     call set("Product","contents",info.Product)
  132.     call set("Revision","contents",info.Revision)
  133.     call set("Qualifier","contents",info.PeripheralQualifier)
  134.     call set("Type","contents",info.PeripheralType)
  135.     call set("Removable","contents",info.Removable)
  136.     call set("Modifier","contents",info.Modifier)
  137.     call set("ISO","contents",info.ISO)
  138.     call set("ECMA","contents",info.ECMA)
  139.     call set("ANSI","contents",info.ANSI)
  140.     call set("AENC","contents",info.AENC)
  141.     call set("TrmIOP","contents",info.TrmIOP)
  142.     call set("RDF","contents",info.RDF)
  143.     call set("RelAddr","contents",info.RelAddr)
  144.     if info.WBus32 then wb=32
  145.     else if info.WBus16 then wb=16
  146.          else wb=8
  147.     call set("WBus","contents",wb)
  148.     call set("Sync","contents",info.Sync)
  149.     call set("Linked","contents",info.Linked)
  150.     call set("CmdQueue","contents",info.CmdQueue)
  151.     call set("SoftReset","contents",info.SoftReset)
  152.     call set("Info","contents","Done.")
  153.     return
  154. /**************************************************************************/
  155.